In computer networking, domain name system (DNS) is a name resolution protocol for transmission control protocol (TCP)/Internet protocol (IP) networks, such as the Internet. Typically, a DNS server located in a data path resolves a DNS query, received from a client device (e.g., a host computing system, a mobile device and the like) in a network, by returning one or more IP addresses corresponding to a domain name associated with a remotely located computing resource, such as a remote server, a host computing system and the like. In other words, the DNS server translates domain names into IP addresses and keeps information about location and the IP addresses of remotely located computing resources transparent to users. Information is ordinarily transmitted within the networks in packets and the term packet refers to a unit of data communicated within a network. A packet typically includes a packet source identifier and a packet destination identifier used to navigate the packet data through a network. The term packet may refer to a unit of data through a network. The term packet may refer to a unit of data communicated at any level of an open systems interconnection (OSI) model and between levels of the OSI model.
Generally, the DNS server translates domain names into IP addresses based on DNS rules. A network administrator ordinarily configures the DNS rules using the IP addresses associated with the domain names of the remotely located computing resources within a file. One challenge with defining the DNS rules in terms of the IP addresses is the need for the administrator to continually update the DNS rules to keep abreast of changes in a network. Machines may be added or removed from the network and machines' IP addresses can change from time to time, requiring corresponding changes to the DNS rules.
Further, in complex networks in which changes are many and frequent, the need to update the DNS rules to keep pace with changes to network configuration, such as user configured DNS rules, network interface card (NIC) assigned IP addresses in an IP address management (IPAM) table, network address translation (NAT) addresses in a NAT table, virtual machine (VM) inventory objects, a zone table, a view table and the like can pose a significant challenge. This is even more a challenge in a virtual network environment where VMs may be dynamically added and/or removed in which case the DNS server may need to be manually reconfigured.